Numerical control system dependent on vector magnitude

ABSTRACT

A numerical control system for operating a machine tool or the like receives successive coordinate movement instructions for controlling a device such as a cutting tool. The system employs a digital differential analyzer in each coordinate axis for generating a servo rate command, while providing linear interpolation for each movement. Feedrate is digitally controlled in different coordinate axes to bring about an optimized vector feedrate. Acceleration and deceleration are digitally directed for adapting the numerical control system to the particular device operated thereby.

United States Patent 1 3,693,064 Kiwiet [4 1 Sept. 19, 1972 [54]NUMERICAL CONTROL SYSTEM 3,538,315 11/1970 Reuteler ..318/571 DEPENDENTON VECTOR 3,430,035 2/1969 Read ..318/571 MAGNITUDE 2,927,735 3/1960Scuitto ..318/571 3,110,865 ll/1963 Scuitto ..318/571 [72] InventBeavemm Oreg- 3,428,876 2/1969 Kelling ..318/571 [73] Assignee:Tektronix, Inc., Beaverton, Oreg.

Primary Examiner-Bemard A. Gilheany [22] Flled' March 1971 AssistantExaminer-Thomas Langer [21] Appl. No.: 121,316 Attorney-Buckhorn, Blore,Klarquist and Sparkman Related U-S- Application Data [63] g g yg of Anumerical control system for operating a machine tool or the likereceives successive coordinate movement instructions for controlling adevice such as a l n u n a n u n u l n n i e n v I I u n a [58] Id 601603 analyzer in each coordinate axis for generating a servo e 0 re ratecommand, while providing linear interpolation for each movement.Feedrate is digitally controlled in dif- [56] Referenm Clted ferentcoordinate axes to bring about an optimized UNITED STATES PATENTS vectorfeedrate. Acceleration and deceleration are digitally directed foradapting the numerical control E 33 system to the particular deviceoperated thereby. a 3,530,283 9/1970 McDaniel ..318/571 15 Claims, 6Drawing Figures x COMMAND I REGISTER JAX SHIFT 38 6O 62 IO 1 x- POSITIONJUMP REGISTER ,QEQZ 1 6a 4 COUNTER v i I x TRANSDUCER INTERFACE Y AYADDER AY ,YHREG'ST R REGISTER i 54 OVERFLOW SHIFT 48 52 I" so 70 i2ERROR Y- POSITION Din-EC I E F432 (82 P148 k 30 Y DEFL. I 36 I 148 010ACKT. I

L 54G Y TRANSDUCE .M INTERFACE 7 7e 76 A J 403 PATENTEDsEPIQ 19723.693.064

sum 3 or 3 I24 26o 262 266 FIG 3 "LFANTI-COINC. r) j 460 SCANNER J. K. v

FROM PREF? FUNCTIONS REG.

. FIG. 5 l

SUBTRACT "PROGRAM -2g4 42o COUNTER 422 ACC. DEC. FEEDR. FIG. 6

WILLIAM B. KIWIET INVENTOR BUCKHORN, moms, KLARQUIST a. SPARKMANATTORNEYS,

NUMERICAL CONTROL SYSTEM DEPENDENT ON VECTOR MAGNITUDE CROSS REFERENCETO RELATED APPLICATION This application is a continuation-in-part of myapplication Ser. No. 66,979 filed Aug. 26, 1970, entitled NumericalControl System, and assigned to the assignee of the present invention.

BACKGROUND OF THE INVENTION By means of a numerical control system, acutting tool or similar controlled device may be moved in two or morecoordinate directions over an accurately predetermined path inaccordance with digital input instructions. Typically, a set ofcoordinate instructions, comprising a given block ofinformation, willdirect the controlled device to move from its present position to a newposition the coordinates of which are digitally expressed. Thesuccessive blocks of information cause thecontrolled device to movethrough successive segments of an overall contour.

The usual numericalcontrol system, and the information applied thereto,must be fairly carefully adapted to the particular machine which is tobe controlled. Thus, the numerical control should not produce outputsignals at a velocity rate such that the controlled device will beincapable of reacting thereto. The commanded velocity should not be suchas will produce an undue strain on a cutting tool or workpiece. Theproper velocity or feedrate can ordinarily be programmed into thenumerical control system as a part of the input information.Inaccordance with my previous invention, such characteristics asacceleration and deceleration are made adaptive to the particularmachine which is controlled.

In the numerical control system according to my prior application,velocity or feedrate input information was received, and the apparatusoperated to establish this velocity or feedrate in the axis orcoordinate direction of the largest move. Thus, if the differencebetween present position and commanded position was greatest in the Xaxis, the X axis feedrate was caused to achieve the programmed or inputvelocity or feedrate. Since'actual tool feedrate is the vector sum ofthe feedrates in two or more axes, a change in actual velocity may beexperienced from move to move unless the commanded feedrate is changedin accordance with the direction of the desired move. In order toachieve substantially constant feedrate, the feedrate command for eachblock of information must take into consideration the relationshipbetween commanded feedrate in the axis of the largest move, and therelationship thereof to the actual or vector feedrate.

SUMMARY OF THE INVENTION In accordance with the present invention, thefeedrate input for each block of information may correspond to theactual feedrate desired of the machine. Thus, if a constant feedrate isdesired throughout two successive blocks of input information, the samefeedrate input command information may be provided on the inputrecording tape or the like, without regard to the successive directionsof movement commanded by the successive blocks of information.

In accordance with a particular circuit of the present invention,digital means is provided for developing output information proportionalto the vector sum of the repetitive output information provided incoordinate axes and supplied to control coordinate motors or the like.The repetitive output information proportional to the vector sum iscontrolled to correspond to feedrate input information, with thecoordinate output information supplied to control coordinate motors orthe like being simultaneously controlled.

Stated another way, repetitive output information is developed which isproportional to the vector sum of commanded delta moves in therespective axes. This output, along with the output informationcontrolling machine movement, is increased or controlled until thevector sum output information produces the desired vector feedrate.

It is an object of the present invention to provide an improvednumerical control system for automatically providing a desired vectorvelocity.

It is another object of the present invention to provide an improvednumerical control system operative with simplified input information.

It is another object of the present invention to provide an improvednumerical control system for achieving a desired vector feedrate bydigital means.

It is another object of the present invention to provide an improveddigital control system for achieving optimum velocity operation.

It is a further object of the present invention to pro- .vide animproved numerical control system for attaining optimized operation withsimplified circuitry and construction.

The subject matter which I regard as my invention is particularlypointed out and distinctly claimed in the concluding portions of thisspecification. The invention, however, both as to organization andmethod of operation, together with further advantages and objectsthereof, may best be understood by reference to the followingdescription taken in connection with the accompanying drawings whereinlike reference characters refer to like elements.

DRAWINGS FIG. 1 is a general block diagram of a numerical control systemaccording to the present invention;

FIG. 2 is a further portion of the FIG. 1 circuit, particularlyillustrating feedrate control apparatus;

FIG. 3 is a more detailed diagram of a regulator forming a portion ofthe FIG. 2 circuit;

FIG. 4 is a block diagram of a discriminator as employed with the FIG. 2circuit;

FIG. 5 is a block diagram of a selector circuit utilized according tothe present invention as in FIG. 2; and

FIG. 6 is a waveform chart illustrating operation according to thepresent invention.

DETAILED DESCRIPTION Referring to the drawings, and particularly to FIG.1, an apparatus is illustrated for moving a controlled device along apath, such path comprising a number of segmental portions, wherein theapparatus successively receives input directive information representingeach such segmental portion for causing corresponding movement of thecontrolled device. In a given instance the controlled device maycomprise the cutting tool of a milling machine or the like adapted formovement in a first, or X, direction by rotation of X motor 10, andmovement in an orthogonal direction by means of a Y motor 12. Successivemovement instructions are provided upon a conventional recording tape(not shown), such as perforated paper tape, read by a tape reader 14.Successive blocks" 'of information are read from the tape in a knownmanner, with each block including the directive information indicativeof the position, to which thecutting tool or other controlled device isto be moved. This information is recorded upon the tape in binary codeddecimal form, along with a feedrate input value and other inputinstructions as hereinafter more fully described.

The input information from tape reader 14 is converted from binary'codeddecimal form to straight binary form in converter.l6 to simplify theprocessing of the information, as further described in my aforementionedapplication Ser. No. 66,979. The X coordinate of the location to whichthe controlled device is to be moved is coupled into X command register18, while the Y coordinate is transferred into Y command register 20.Each of these registers, as well as most of the other registers employedherein, suitably comprise 24 bit shift registers wherein the informationstored continuously circulates, as indicated by leads 22 and 24respectively, at a clock frequency of 2 megahertz. Shorter registers canbe used in some instances where less accuracy is acceptable.

The X command registerz18 together with X position register 26 andsubtract circuit 28 form a first input register means according to thepresent invention. Similarly, Y command register together with Yposition register 30 and subtract circuit 32 form a second inputregister means according to the present invention.

The position registers 26 and 30 store the digital coordinaterepresentations of the-actual position of the controlled device. Theposition registers are connected as dynamic counters such t hat inputsprovided on leads 34 and 36 respectively increase or decrease thecontent of the register byone unit, here indicative of 0.0002 inches, ina coordinate direction. Otherwise, the information circulates in theposition registers in the same manner as hereinbefore described withrespect to the command registers.

Command register 18 and position register 26 provide respective inputsfor subtract circuit 28 the latter developing the differencetherebetween indicated as AX. Also a difference, AY, between the contentof registers 20 and 30 is provided by subtract circuit 32. The subtractcircuits 28 and 32 provide the digitally represented positional error inX and Y coordinate directions existing between the commanded positionfor a controlled device, and its actual position.

The difference, AX is provided as an input to a rate command means herecomprising a digital differential analyzer. This digital differentialanalyzer develops an output pulse rate proportional to the digital errorinformation, AX, as well as proportional to a feedrate command. Thedigital differential analyzer comprises a AX Y register 38, an X R"register 40, and an adder 42. The error information, AX, is entered intoregister 38, initially in the lower order bit positions thereof, andthis which adding continues. The frequency of the output pulse at 46 isproportional to AX as well as being proportional to a feedrate inputdetermination as hereinafter described.

Similarly, the AY information is entered initially into the lower orderbit positions of the AY Y" register 48 from which it is repeatedly addedto the contentsof Y R register 50 via adder 52. Thefrequency of theoverflow at 54 will be proportional to AY, as well as to a feedratecommand on lead 44. Elements 48, 50, and 52 comprise a second digitaldifferential analyzer.

Since the frequency of addition is determined by a common feedratecommand which is the same for each digital differential analyzer, itwill be seen the outputs on leads 46 and 54 are'exactly proportional toAX and AY, respectively. The outputs at 46 and 54 can then be used asrate commands to digitally operated servomechanisrn means forcontrolling motors l0 and 12, with the two rate outputs at 46 and 54having the correct frequency ratio for causing movement of thecontrolled device in a constant direction for reducing error values AXand AY to zero. The digital differential analyzers thus perform thefunction of linear interpolation between a present position of acontrolled device and the commanded position thereof.

In order to avoid unwanted differences in rate of movement of thecontrolled device with the actual distance being'traversed therebyduring a linear movement, the contents of registers 38 and 48 are firstnormalized. That is, the contents of both registers 38 and 48 are movedsimultaneously from the lower order bit positions of each register tothe higher order bit positions until a digit in one register or theother reaches the higher order bit position thereof. At this point,shifting is stopped and operation of the digital differential analyzersmay be begun. The ratio between the AX and AY information is preservedwhile retaining a high overflow pulse rate substantially responsive tothe feedrate command on lead 44.

The rate command information on leads 46 and 54 is provided respectivelyto X and Y axis digital servomechanismmeans. Referring first to X axisdigital servomechanism means, the pulse output on lead 46 is appliedthrough and-gate 56 to an error counter 58, the output of which isapplied to a conventional digital to analog converter 60. Counter 58 aswell as counter are 10 bit binary reversible counters and are normallyemployed as a buffer for allowing position and velocity lag in theoverall servomechanism. The converter 60 converts the error output intoa bipolar analog voltage to drive the preamplifier of servo 62. Velocityservomechanism 62 includes power amplifier means for providing anoperating input to X motor 10. Analog servomechanism 62 also receivestachometer feedback from X motor 10 and operates in a conventionalmanner for rotating motor at substantially the dictated rate.

In a constant velocity situation, for instance, the out-- put from errorcounter 58 is a constant velocity command. After digital to analogconversion, it is amplified and compared, analog-wise, with the actualvelocity of the machine, detected with a tachometer. The differenceoperates the machine.

A transducer 64 is also connected to the output shaft of motor 10, thistransducer comprising means for providing digital rate and positionfeedback. The transducer produces digital pulse outputs in response toanalog input, phased according to direction of rotation. In a specificembodiment the transducer comprised a Baldwin shaft position encoder,Model 752-1, manufactured by Baldwin Electronics, Incorporated, LittleRock, Arkansas. The output of transducer 64 is coupled via X transducerinterface 66, more fully described in my aforementioned application Ser.No. 66,979, as a second input to error counter 58, and as the countinginput on lead 34 for register 26. Thus, as the X motor 10 responds toservo 62, transducer 64 provides pulses to error counter 58 foradvancing or reducing the total count thereof toward a predeterminedvalue for which converter 60 produces zero output, indicating compliancewith the input command. The loop comprising the error counter 58,converter 60, servo 62, transducer 64, and interface 66 thereforecomprises a digital rate servomechanism causing the X motor 10 to beresponsive to rate information dictated by the frequency of the outputpulse from the X digital differential analyzer on lead 46. Also, thedigital information from the transducer 64 updates the position inregister 26 whereby the AX output from subtract circuit 28 is eventuallyreduced to zero.- It should be noted, however, that in the describedembodiment of the invention for executing linear interpolation inresponse to segmental instructions, the AX information from subtractcircuit 28 is entered into register 38 only at the start of eachinterpolation, that is when new information is entered into X commandregister 18 from converter 16, and before position register 26 responds.This will not necessarily be the case as with embodiments executingcurved segment commands or the like. The present embodiment is describedfor greater ease of explanation. It is also understood apparatus may beprovided according to the present invention operating in three axesinstead of two, i.e. in X, Y, and Z directions instead of just X and Y.Timing circuitry for the apparatus according to the present inventionwill be well understood by those skilled in the art, and therefore willnot be described herein.

When AX nears zero, for instance when the remaining difference reducesto one bit indicative of a position difference of less than 0.0002inches, subtract circuit 28 provides a detect zerooutput on lead 68. Thesignal on line 68 inhibits gate 56 whereby error counter 58 no longerreceives the overflow pulse on lead 46. Furthermore, the same signal online 68 is employed as a jump command to error counter 58 whereby to setthe latter to a given value for servo-retaining purposes. In aparticular embodiment, this predetermined value was the number 512 inbinary form, which, when applied to digital to analog converter 60,causes a zero input at analog servo 62. Prior to the execution of thejump instruction, error counter 58 may contain a count greater than orless than 512, in accordance with the direction of commanded movementand according to whether an acceleration or deceleration may have beentaking place. However, upon a detect zero" signal on line 68, the countin error counter 58 is changed to 512 and the digital servomechanism isthen employed to maintain this value in error counter 58. As aconsequence, motor 10 will be retained in a given position. Duringservo-retaining, error correcting voltage is produced proportional topositioning error. To enhance the servo-retaining mode, analog servo 62is provided with increased amplifier gain, at this time, near its zeroinput value. Consequently, any tendency for movement on the part of Xmotor 10 will be countered by a strong output from analog servo 62 aserror counter 58 changes at all from the 512 value. The servo-retainingmode, according to the present apparatus, is of appreciable value inminimizing error and providing enhanced accuracy in the directedpositioning of the controlled device. It will, of course, be appreciatedthat each block of information on an input tape read by tape reader 14may direct another movement of motor 10. Consequently, theservo-retaining mode may have a very short duration, or may benonexistent as in an anticipation mode of operation, hereinafterdescribed, wherein a nearly constant feedrate is attained from onesegmental movement to the next.

The Y axis digital servomechanism similarily comprises error counterdriving digital to analog converter 72, which in turn provides the inputto velocity analog servo 74. Transducer 76, which may be identical totransducer 64, provides an input to error counter 70 for causing errorcounter 70 to count in the opposite direction from the input suppliedvia and-gate on lead 54. Normally, the pulse output 54 is counted byerror counter 70 which applies a corresponding analog signal to servo 74via converter 72. Analog servo 74 provides the power output to Y motor12, while a tachometer operated by the motor shaft supplies the feedbackto analog servo 74. Transducer 76 supplies a pulse output in response tomotor rotation, which is applied to error counter 70 by way of interface78 for changing the count in error counter 70, eg to the 512 value.Also, the pulse output from transducer 76 is effective through interface78 and lead 36 for causing Y position register 30 to count for reducingthe difference detected by subtract circuit 32. When the subtractcircuit 32 detects a difference indicative of less than 0.0002 inchesbetween the registers 20 and 30, a signal on lead 82 inhibits operationof gate 80 and causes error counter 70 to jump to the 512 value forservoretaining in the same manner as herein described in connection withthe X axis digital servomechanism.

The apparatus according to the present invention has two general modesof operation as selected by preparatory functions register 84 in FIG. 2.The first or mode A is the normal mode, for applying acceleration anddeceleration for every block of input information on the tape read byreader 14. The second mode, mode B, is an anticipation mode applyingacceleration in the first block only and deceleration in the last blockonly. For blocks in between, acceleration and deceleration may besubstantially skipped and the tape reader is started before completionof the previous block, i.e. at the point in time where decelerationwould occur in the normal mode A. The input instructions as to whethermode A or mode B is desired are given with each block of information onthe tape, as read by tape reader 14. This information is supplied toregister 84 as indicated at 86. As long as mode A is designated, eachblock is read, and the servo system comes to a substantial halt, withmotors 10 and 12 in servo-retaining condition, be-

fore tape reader 14 is operated to read the next block of information.

The circuit of FIG. 2 is interconnected with the circuit of FIG. 1 byleads numbered 44, 86 through 91, 402, 403, 430, and 432. Leads 88 and89 carry the AX and AY signals from subtract circuits 28 and 32. Leads90 and 91 provide the position feedback pulses, and leads 402 and 403carry the outputs of registers 38 and 48, corresponding to normalizeddigital error information, and here designated as AX and AY'. Ashereinbefore mentioned, lead 44 delivers the feedrate command to theFIG. 1 circuit. Leads 430, 432 are explained later.

Leads 88 and 89 in FIG. 2 provide inputs for subtract circuit 96 as wellas being respectively connected to and-gates 98 and 100. Subtractcircuit 96 energizes one or the other of gates 98 and 100 according towhether the AX or the AY signal is larger. If the AX signal is larger,gate 98 from the subtract circuit is energized for passing the AX outputto lead 102. If, on the other hand, the AY signal is larger, then gate100 is energized to provide the AY value on lead 102. Subtract circuit96 similarly energizes a pair of and-gates 104, 106, so that positionfeedback information is provided on lead 112 for the axis having thelarger delta.

At the beginning of each block of information in mode A, Y register 116is preset to a predetermined small value by preset means 118 in accordwith an acceleration command from selector circuit 132. Register 116together with adder 120 and R register 122 form a digitaldifferentialanalyzer operating in substantially the same manner as hereinbeforedescribed for this type of circuitry to provide a pulse output on lead124, the frequency of which may be proportional to the digital contentof the Y register 116. (Alternatively, it may be proportional to thecontents of register 404.)

Repeated addition takes place in adder 120 at a constant rate,repeatedly adding the contents of register 116, for instance, toregister 122. During acceleration, at the start of a block of inputinformation, an add-one circuit 126 is energized providing successiveincreases for the value in register 116. And-gate 128 is also energizedat this time to provide normal recirculation of the pulse train throughregister 116.

During acceleration, the number preset into register 116 via means 118initially determines the overflow pulse rate on lead 124. This value isapplied to a regulator 130 which comprises a comparison circuit. Inregulator 130, the frequency of the pulse output overflow from vector R"register 406, such pulse appearing on line 408, is comparedfrequency-wise with the overflow 124 from register 122. The regulator130 then provides an appropriate feedrate command on lead 44 forcontrolling the axis digital differential analyzers (in FIG. 1) ashereinafter more fully described, taking into consideration the vectorV." The regulator 130 thus forms part of a means for controlling thepulse output rates on leads 46 and 54, and thus the velocity whichmotors 10 and 12 are required to follow. The feedrate command on lead 44is applied to both adders 42 and 52.

Initially, the velocity rate commanded will be fairly low in accordancewith a low value usually preset into register 116 by means 1 18. Thecommanded velocity of the system will remain low until a system responseoccurs. Then, the position feedback from the axis having the largerdelta, this feedback appearing on line 112, causes add-one circuit 126to add pulses to the contents of register 116. Each feedback pulsecauses a pulse to be added. Consequently, the system will accelerate.Acceleration is adaptive, wherein further acceleration takes place asthe controlled device responds. Thus, assuming the control device is acutting tool or the like, the feedback on line 112 will indicate whetheror not the cutter is responding or can respond at a prescribed rate. Amachine of low bandwidth" will be accelerated at a slower rate thana-machine of high bandwidth." Since a machine is accelerated inaccordance with its capabilities, not as much data need be inserted intothe apparatus according to the present invention with a change in thecontrolled machine, workpiece to be milled, or the like. It ispreferable that the acceleration command be digitally generated ratherthan being generated with an analog time constant circuit. This digitalgeneration provides a completely predictable acceleration command whichcan be modified to serve various applications and which will enable asmooth transition from acceleration to feedrate, etc., independent ofthe particular feedrate involved. It also enables smooth transition fromacceleration to deceleration for short incremental moves as hereinaftermore fully described. A machine can be accelerated or decelerated fromany existing feedrate to a new commanded feedrate and will make a smoothtransition.

In mode A, selector circuit 132 compares the number in register 116.withwhich the velocity commands at 46 and 54 are initially controlled, withthe feedrate number in register 404 provided from the input converter16. Register 404 receives this number on line 87 from the converter inaccordance with the desired feedrate in a particular input block. Itshould be noted that selector circuit 132 initially provides and ACC.output, i.e. during acceleration. When the number in register 116reaches the commanded feedrate number in register 404, selector circuit132 switches outputs from ACC. to F EEDR., whereby the system velocitywill be commanded in accordance with the directed feedrate. The FEEDR.output of selector circuit 132 now energizes and-gate 410 in place ofand-gate 412, previously enabled by the ACC. output via or-gate 414,whereby register 404 provides a constant feedrate number input to adderin place of the number from register 116. Hence, the apparatus is thencontrolled to maintain the desired feedrate via overflow on lead 124.

The system feedrate can be the optimum desired for the controlleddevice, representing the velocity of which the system is capable, withthe acceleration adapting itself to the acceleration capabilities of thecontrolled device as hereinbefore indicated. As hereinafter alsoindicated, the deceleration is also adaptive and is controlled so as toarrive at the desired endpoint without overshoot, despite fairly rapidfeedrate theretofore. Normally, acceleration is substantiallyexponential from zero velocity to feedrate, and subsequent decelerationis also substantially exponential, although these characteristics can bevaried.

Operation continues at the desired feedrate until the commanded locationis neared by the controlled device. A deceleration range detector 138 iscoupled to receive the larger delta signal for comparison with apredetermined value which, in a constructed embodiment, was numericallyequal to 0.4096 inches. When the larger delta drops below this value,detector 138 provides an output for inhibiting gate 128 anddiscontinuing circulation of information in register 116 (unlessacceleration is commanded and inhibits gate 141). Thereupon, the samedelta information is entered into register 116 by way of and-gate 140.The digital differential analyzer comprising register 116, adder 120,and register 122 now again produces an overflow pulse output on lead124. The selector circuit 132 compares the contents of registers 116 and404 and provides a change from FEEDR. output of DEC. output when thecontents of register 116 becomes the lesser of the two. Alternatively,compare circuit 142, the function of which is hereinafter described, mayalso be employed for the latter purpose. The digital differentialanalyzer comprising elements 116, 120, and 122 will then command anexponential slowdown to position by way of lead 124. Thus, the deltainput to register 116 will continue to decrease and consequently theoverflow rate on lead 124 will continue to decrease. Smooth transitionfrom feedrate to deceleration is accomplished, this transition beingindependent of feedrate, distance, or time. The deceleration range isquite long and also the final speeds during deceleration are quite low,whereby final positioning can occur without overshoot. This decelerationmode enhances the possible speed of the machine prior to deceleration,without compromising accurate positioning. Since'deceleration is alsoproportional to the adding frequency of the digital differentialanalyzer comprising elements 116, 120 and 122, deceleration can bealtered to make it compatible with various machines servo decelerationcapabilities in this manner. a

A change in operation directly from acceleration to deceleration isrequired when the delta for the move is small and/or the commandedfeedrate is high. During acceleration, a continuous comparison is madebetween delta information on line 102 and the contents of register 116.If, during acceleration, the information in Y register 116 equals thedelta information on line 102, it indicates that deceleration should bestarted substantially immediately if the controlled device is to stop intime. Comparison circuit 142 detects this fact and provides a signal toselector circuit 132 causing the latter to command immediate entry ofdelta information into register 116 and immediate deceleration operationin the manner hereinbefore described. The selector circuit discontinuesthe acceleration command such that detector 138, which detects a smalldelta, can operate gates 140 and 128 as hereinbefore described. In thiscase, of course, the feedrate is never reached during the particularsegmental move under consideration.

This mode of operation comprising a jump from acceleration todeceleration substantially eliminates the tendency for overshoot tooccur for small deltas. Smooth transition from acceleration todeceleration takes place independent of feedrate, distance or time.Optimum time response isalso maintained inasmuch as acceleration isactually continued to a half way point of a segment movement, beforedeceleration starts to take place.

In mode B, as commanded in preparation functions register 84 from thetape reader 14 and converter 16, acceleration will take place only inthe first block of information on the tape containing a mode Binstruction, and the tape reader is started before the completion of theblock for reading in new instructions. This occurs when the decelerationrange is detected by detector 138. However, the output of detector 138is otherwise normally inhibited for this mode. The selector circuit 132is commanded by preparation functions register 84 to continue thefeedrate. Acceleration or deceleration may also be commanded when thereis a change in commanded velocity from one block to the next. In aparticular embodiment, the controlled device can then accelerate ordecelerate adaptively to the new velocity, i.e. until the desiredfeedrate is reached.

A rapid checking mode is provided for verification of -cord with apreviously verified tape. The checking system is not only quite fast butis less costly than known tape checkout methods.

According to the input checking mode of the present apparatus, internalfeedback is employed by providing a closed loop which does not includean actual mechanical servo drive and position feedback. The servo driveis disabled at this time. Referring to F IG. 1, the pulse output ofregister 40 is coupled directly as an input to X position register 26,indicated by dashed lines 144. Also, pulse output of register 50 isconnected directly as an input of Y position register 30 as indicated bydashed lines 148. The system operates to line up the respective positionand command registers, with position checking information being takenfrom the respective position registers. Input data other than on punchedtape can be checked.

The position register output information is supplied to a display means,desirably comprising a bistable cathode ray storage tube. The Xdeflection circuit for such storage tube is controlled from X positionregister 26 by way of digital to analog converter 152, while the Ydeflection circuit for such storage tube is controlled by Y positionregister 30 via digital to analog converter 154. Z axis enableinformation is derived from the tape as translated by converter 16 andapplied to Z axis enable circuit 156. The latter is effective forcontrolling the presentation of an electron beam for producing a tracecorresponding to the segmental movement instructions for each block ofinformation on the tape, as desired. The apparatus for this mode ofoperation is further described in my above mentioned application.

SELECTOR CIRCUIT Selector circuit 132, as referred to in the FIG. 2block diagram, is illustrated in greater detail in FIG. 5.

This circuit receives instructions from the preparation functionsregister 84 which in turn receives information from converter 16 and theinput tape. The instructions from the preparation functions registeroperate a program counter 284 which steps through the followingprocedural levels for operating overall control and timing circuitry(not shown).

These counting steps are as follows:

Stop, Read l Select sign of command minus position 2 Load deltas intoregisters 38 and 48 3 Normalize registers 38 and 48 4 Stop 5 Accelerate6 Feed 7 Decelerate 8 Possible external cycle.

9 Possible external cycle After the sequence of steps is executed, thesequence is repeated, i.e. for reading each additional block ofinformation on the input tape followed by executing the instructionsgiven thereby. During mode B, as soon as deceleration would ordinarilybe initiated in step 7, the counter directs tape reading followed bysteps 1,2 and 3, but skipping steps 4 and 5, for maintaining asubstantially continuous feed.

During mode A, wherein acceleration and deceleration are programmed foreach block of input information, the program counter 284 is alsoresponsive to the outputs of registers 116 and 404 on leads 418 and 420respectively. The FIG. 5 selector circuit detects whether the output ofregister 116 on lead 418 is larger or whether the output of register 404on lead 420 is larger, and may direct program counter 284 to change itsoutput from one directing acceleration to one directing feed, or toprovide a change from feed to deceleration. If the output'on lead 418-becomes larger than the output on lead 420, subtractor 424 provides afirst transition signal to program counter 284. If the output on lead418 becomes less than the output on lead 420, subtractor424 provides asecond transition signal to program counter 284. The. program counter isstepped by these transitions, e.g. from acceleration to feedrate, andfrom feedrate to deceleration. Appropriate outputs, marked ACC., FEEDR.,and DEC.,

are provided. The FIG. 5 circuit provides outputs in accordance withwhether acceleration, deceleration, or feedrate operation is desired.

If compare circuit 142 so dictates, a signal is provided on lead 422 forjumping the program counter past step 6 indicated above, directly todeceleration, for the case when very short segmental movements areindicated and wherein deceleration should occur sooner in order to avoidovershoot.

REGULATOR Regulator-130, as indicated in FIG. 2, is illustrated ingreater detail in FIG. 3. The input on lead 124 to anticoincidence gate260 normally sets flip-flop 266 via lead 262, whereby an output isprovided on line 44 causing adders 42 and 52 in FIG. 1 to operate at a80 kilohertz rate. Adder 409 is similarly controlled. The signal on lead408 resets the flip-flop 266 via anti-coincidence gate input 258 andlead 264. The anti-coincidence gate 260 prevents switching of flip-flop266 if inputs arrive on leads 124 and 408 at the same time.Anti-coincidence gate260 operates only if controlled device velocity isfairly high, and prevents improper system operation by preventingpremature setting and resetting of the flip-flop.

VECTOR RATE CONTROL In accordance with the present invention, the rateor velocity of the machine tool or the like operated with motors 10 and12 is controlled to correspond to the desired predetermined velocity ina resultant or vector sense. Thus, if a given feedrate is dictated fromthe input recording tape, motors l0 and 12, operating in different,perpendicular, coordinate axes, will combine to provide the dictatedresultant velocity for the tool or the like operated by both motors l0and 12.

First, a vector, V, is digitally generated, wherein V is the vector sumof the displacements originally commanded for the segmental move. Inparticular, the normalized delta outputs from registers 38 and 48 inFIG. 1 are coupled via leads 402 and 403 respectively to and-gates 426and 428 in FIG. 2. These normalized delta outputs are designated AX andAY', and are substantially constant for each segmental move, in the caseof a particular embodiment of the present invention. Disabling leads 430and 432, connected to the andgates, are normally inactive and will beconsidered subsequently.

The outputs of gates 426 and 428 are applied toadders 438 and 440,respectively, through gates 434 and 436. Gates 434 and 436 apply valuesAX, AY', and V, successively and repetitively to adders 438 and 440under the control of scanner 442. Thus, the contents of register 38 inFIG. -1 is first added to summing register 444 in FIG. 2, after whichthe contents of register 48 are added to summingregister 444. Then, thenumeri cal contents of V Y" register 446 are added to summing register444. The operation is successively repeated. A

Summing register 444, which is designated the X+Y+V summing register inFIG. 2 for convenience, together with adder 438 and register 38, oralternatively register 48, in FIG. 1 form a digital differentialanalyzer producing an overflow on lead 448. It is noted the output ofsumming register 444 is applied as a recirculated input to adder 438. Anoverflow on lead 448 may be generated after any addition of AX, AY', orV to the contents of register 444. However, on the average, overflowpulses generated after the addition of AX are proportional to the valueof AX, overflow pulses generated after addition of AY are proportionalto the value of AY, and overflow pulses generated after the addition ofV are proportional to the value of V. Thus, overflow frequencies aregenerated proportional to the values of AX, AY', and V, respectively andsuccessively. Separate digital differential analyzers could be employedfor the purpose, but the present arrange-v ment is very economical inits use of components.

The inputs AX, AY', and V are also applied to adder 440 through gate436, as hereinbefore mentioned, with gate 436 also being under thecontrol of scanner 442. Thus, these quantities are successively added tosumming register 450, which is designated the X Y -l- V summing registerin FIG. 2 for convenience. The overflow frequency on lead 448 controlsthe adding rate of adder 440 with an overflow pulse being lengthened bypulse stretching means 452. It is noted that scanner 442 couples the AXlead to both adders 438 and 440 substantially at the same time, so theaddition of AX occurs both places. Register 450 together with adder 440and either register 38 or register 48 in FIG. 1 or register 446 in FIG.2 may be considered as a digital differential analyzer. It is noted theoutput of register 450 is applied as an input of adder 440.

The overflow frequency on lead 454 from register 450, responsive to theAX input, is proportional to (AX This comes aboytsince the overflowfrequency on lead 448i s then proportional to AX this overflow frequencycontrolling the adding rate of adder 440. At

the same time, AX is provided as an input to be added by adder 440. As aresult, the overflow frequency generated on lead 454 at this time isproportional to (AX The output on lead 454 is successively proportionalto (AX') (AY')", and V as the different quantities are added by adders438 and 440.

The overflow on load 454 is applied to discriminator 456, which willhereinafter be more fully described. Discriminator 456 provides asubtract output. on lead 458 in response to a V overflow. Discriminator456 supplies an add output on lead 460 in response to a (AX' or (AYoverflow on lead 454.

The output on lead 458 comprises small numbers which are successivelysubtracted from the contents of V Y" register 446 via add-subtractcircuit 462, with the output of register 446 also being recirculated tothe input of circuit 462. Also, the output on lead 460 of discriminator456 comprises small numbers which are added to the contents of V Yregister 446 via addsubtract circuit 462. Register 446 together withadder 409 and V R register 406 form a V or vector digital differentialanalyzer.

The output, V, of register 446 is supplied as one of the inputs to gates434 and 436 as hereinbefore mentioned. It will be seen that the contentsof register 446 are adjusted by add-subtract circuit 462 until V reachesa value such that V (AX') (AY) or V V(AX (AY-) Thus, V equals the vectorresultant of AX and AY. Until these equalities are satisfied, theoutputs on leads 458 or 460 will be unbalanced, causing the V register446 to attain the correct vector resultant. This vector output ofregister 446 is then used as a basis for generating an overflow signalon lead 408 for comparison with the feedrate commanded overflow on lead124.

Regulator 130 not only provides the feedrate command on lead 44 foroperating the adders 42 and 52, but also provides the same output forcontrolling adder 409. Regulator 130 tends to provide outputs such thatfor each overflow pulse on lead 124, the digital differential analyzercomprising elements 406, 409 and 446 applies a corresponding overflowpulse on lead 408. However, the latter overflow is based upon orproportional to the resultant displacement or vector sum of AX and AY'.It will be seen that the feedrate command on lead 44 applied to the axisdigital differential analyzers in FIG. 1 will produce overflow pulsestherefrom, the vector sum of which provides the desired velocity ascommanded by the overflow on lead 124 in FIG. 2. It will be seen, forinstance, that the larger the vector, V, the smaller the feedratecommand on the lead 44. If, for instance, AX and AY were equal,producing the largest vector sum, the overflow on lead 408 would morequickly equal the overflow on lead 124, for decreasing the feedratecommand on lead 44. Both motor 10 and motor 12 contribute to the desiredresultant velocity. If, on the other hand, AY is zero, then V AX,assuming AX is not also zero. Then, the X axis digital differentialanalyzer comprising elements 40, 42, and 38, will be commanded such thatthe X motor 10, alone, provides the desired velocity. It is seen thefeedrate command and the motor velocities are inversely related to V.

Disabling leads 430 and 432 are connected, as indicated in FIG. 1, todetect zero outputs of subtract circuits 28 and 32. Thus, when theremaining distance to the commanded position becomes small in a givenaxis, the system is switched to provide a vector, V, equal to theremaining delta in the other axis. This causes enhanced positioning inthe remaining axis toward the end point at a predetermined deceleratingvelocity.

It should be noted that the vector circuitry is effective not onlyduring feedrate operation, i.e. when the feedrate is dictated from theinput recording tape, but also during acceleration and decelerationoperation. The overflow on lead 124 will, in any case, represent theprescribed or digitally generated feedrate factor for acceleration,feedrate, and deceleration conditions.

The advantages of the present invention are manifold. The true feedratemay be directed by a feedrate number provided for each block ininformation on the input recording tape. This number is such that, whenentered in register 404, the desired tool velocity results. The actualnumerical proportion between the feedrate number, on the one hand, andactual linear velocity on the other will depend on circuitry details, aswell understood by those skilled in the art. The vector velocity of thecontrolled tool will remain constant, so long as the feedrate numberremains constant from block to block. Of course, if deceleration to stopand acceleration are dictated between blocks of information, the toolvelocity will remain the same only as between feedrate portions of thecycle, assuming the feedrate number is the same. The feedrate numberneed not be scaled down in such a manner as to take into considerationvelocities in a remaining axis or axes, since the true vector velocityis commanded in each case. Consequently, the system may operate atoptimum velocity without fear of commanding a velocity which thecommanded machine will be incapable of carrying out. Neither does thecommanded feedrate number have to be calculated in advance in order toaccount for the angle of the commanded segmental move with respect toeach of the axes, since the apparatus will correctly carry out thedesired or commanded velocity.

DISCRIMINATOR Discriminator 456 is illustrated in greater detail in FIG.4. The overflow signal from summing register 450 on lead 454 is appliedto 1K flip-flop 468 through andgate 464, and to J K flip-flop 470through and-gate 466. Scanner 442, hereinbefore mentioned, providesenabling inputs to and-gates 464 and 466. A clock signal on lead 474 isapplied to the flip-flops. The outputs of and-gates 464 and 466 provideset signals to flip-flops 468 and 470 respectively, while the input onlead 472 provides reset signals thereto. The outputs of flip-flops 468and 470, indicating the set condition thereof, are respectively appliedto the aforementioned outlet output leads 458 and 460 through and-gates476 and 478. And-gates 476 and 478 are provided a count validationtiming signal on lead 481.

Operation of the FIG. 4 circuit, as well as operation of the FIG. 2circuitry, will be better understood by consideration of the FIG. 6waveform chart. This is a composite chart illustrating the timepositions of master control pulses 480, 482, and 484, and the timepositions therebetween of bits forming binary numbers as may be storedand recirculated in the various registers. The scanner 442 successivelyenables the AX, AY', and V input leadsto gates434 and 436 at the time ofsuccessive master control pulses, and for the duration of a cyclelasting until the next master control pulse. Thus, the AX inputs togates 434 and 436 may be enabled by master control pulse 480, while theAY inputs are enabled by pulse 482, and the V input is enabled by pulse484. The overall sequence then starts over again with pulse 480(duplicated on the drawing) enabling gates 434 and 436 to provide AX'values to adders 438 and 440, etc. As will be well understood by thoseskilled in the art, the scanner 442 must actually provide differentlytimed enabling signals to gates 434 and 436, and discriminator 456, totake into account timing delays as may occur between these elements. Thediagram indication of application of scanner output to gates 434, and436 as well as discriminator 456 is indicative of the functional controlof these elements by the scanner, and the actual circuitry involved isnaturally more complex.

In general, at the occurrence of master control pulse 480, scanner 442provides a signal 488 on lead 489 enabling gate 434 to provide the AXinput to adder 438 and enabling gate 436 to provide the AX input toadder 440. At the occurrence of master control pulse 482, scanner 442enables the AY' input by an enabling signal 490 on lead 491. Similarly,at the occurrence of master control pulse 484, an enabling signal 492 isprovided on lead 493 for gating the input, V.

For the duration of the enabling inputs 488 and 490, scanner 442provides an enabling input for gate 466 (in FIG. 4) on lead 496. On theother hand, for the duration of enabling signal 492, the scanner 442provides an enabling input to gate 464 on lead 494.

The overflow signal on lead 454 is stretched by means not shown, andprovides a set signal to flipflop 470 in FIG. 4, if an overflow fromregister 450 occurs during the cycle represented by enabling signal 488.A clock pulse is then provided on lead 474 at the end of the cyclewhereby the JK flip-flop 470 is set to provide an output to gate 478 ifan overflow has occurred on lead 454 in the cycle between master controlp'ulses. This clock pulse may be substantially coincident with thebeginning of the next master control pulse, e.g. pulse 482 in FIG. 6,occurring after addition of AX by adders 438 and 440. During the nextcycle (i.e. just after control pulse 482), the flip-flop 470 thenprovides an input to gate 478. A count validation is then supplied onlead 481 at a bit time indicated at 498 in FIG. 6. An output pulse iscoupled at this time on lead 460 which comprises an input toadd-subtract circuit 462. The count validation input is arranged tooccur at a second bit position corresponding to a binary two or 2. Abinary two is added to the binary number in register 446. At a timewhich may be immediately after occurrence of a count validation pulse onlead 481, a reset pulse is applied to flip-flops 468 and 470 on lead472.

In the particular instance of the example depicted in FIG. 6, nooverflow occurred on lead 454 corresponding to the additions of AY. Ifan overflow had occurred due to the addition of AY, a similar additionof a binary two would have also occurred by means of addsubtract circuit462 subsequent to control pulse 484. The, when adders438 and 440 add thevector V value to registers 444 and 450, gate 464 will be energized byan input corresponding to signal 492 on lead 494, and lead 496 will nolonger be energized. If an overflow then occurs on lead 454, thestretched overflow pulse will provide a set signal to flip-flop 468instead of flip flop 470. Then, a subsequent clock pulse on lead 474,e.g. at the beginning of the next master control pulse 480, establishesa set output from flip-flop 468 applied to and-gate 476. A countvalidation then received on lead 481 will produce an output on lead 458at time 498' in FIG. 6, in the next cyclical operating sequence, forsubtracting two from the contents of register 446 via add-subtractcircuit 462. i

It will'be seen that overflow outputs on lead 454, proportional to (AX)or (AY) will cause a two to be added to register 446, while theoccurrence of an overflow on lead 454 proportional to V causes a two tobe subtracted from register 446. Register 446 will provide an output, V,for application to gates 434, 436 which will bring about equalitybetween V and (AX) (AY), in feedback fashion. Therefore, the correctvalue of the vector V, equaling the resultant of the two deltas, will berepeatedly added to register 406 by adder 409, with register 406 thenproducing an overflow indicative of the machines true resultantvelocity. Regulator changes the feedrate command on lead 44 to adjustthis velocity to the desired value as dictated by the overflow on lead124, as hereinbefore described, by changing adding rates.

As hereinbefore mentioned, the circuitry in accordance with the presentinvention is illustrated for operation in two axes, but it is understoodthat a third may be similarly controlled. Moreover, while linearinterpolation in the case of each segment of a general contour is hereinindicated, more complex or curved segments can be generated by knownmeans.

While I have shown and described a preferred embodiment of my invention,it will be apparent to those skilled in the art that many changes andmodifications may be made without departing from my invention in itsbroader aspects. I therefore intend the appended claims to cover allsuch changes and modifications as fall within the true spirit and scopeof my invention.

I claim:

1. Apparatus for moving a controlled device along a segment of a path inaccordance with coordinate difference input information, said pathcomprising a number of segmental portions, said apparatus comprising:

means for developing repetitive output information in at least two axes,said information being proporl7 tional to the coordinate inputinformation for each of said segmental portions, said controlled devicebeing responsive in movement in said two axes to said repetitive outputinformation. means also responsive to the coordinate input informationfor developing a digital quantity proportional to the vector resultantof the coordinate input information, digital differential analyzer meansfor providing an additional repetitive output in proportion to saiddigital quantity, means for adjusting an adding rate input to saiddigital differential analyzer means for causing said additionalrepetitive output to correspond to a desired feedrate, and means forsimultaneously applying the same control input in control relation tothe means for developing repetitive output information in the two axes.V 2. Apparatus for moving a controlled device along a path, said pathcomprising a number of segmental portions, wherein the apparatussuccessively receives coordinate input information for directing acorresponding movement of said controlled device, said apparatuscomprising: 7

input register means for receiving said input information and providinga digital positional error indication in at least two axes between inputinformation and the actual position of said controlled device, ratecommand means responsive to said digital error information forgenerating pulse outputs in two axes ratioed according to the positionalerror in said two axes, digital servomechanism means, and positioningmotors operated thereby, responsive to said pulse outputs to providemovement of said controlled device, 1 feedback means actuated by saidmovement of said controlled device to provide feedback pulse informationin response thereto, I means for coupling said feedback pulseinformation to said input register means for updating and reducing saiderror indication, means for providing a desired feedrate input value,digital differential analyzer means responsive to said digital errorindication for generating a pulse output representative of a vectorresultant velocity for said controlled device wherein said vectorresultant velocity is proportional to the vector resultant of thepositional error indication in said axes, means responsive to saidfeedrate input value and to the pulse output of said digitaldifferential analyzer means for generating a feedrate command causingthe said digital differential analyzer means to produce an output pulserate in accordance with said feedrate input value, and means for alsoapplying said feedrate command to said rate command means in said twoaxes to produce output pulse rates therefrom the resultant of which isresponsive to said feedrate input value. 3. A circuit for providing thevector sum of a plurality of input quantities comprising:

a vector register,

first digital differential analyzer means for repeatedly adding saidinput quantities and the output of the vector register and providing anaddition overflow proportional to the various quantities added,

second digital difierential analyzer means for repeatedly adding saidinput quantities as well as the output of the vector register at a ratedetermined by the overflow frequency of the first-digital differentialanalyzer means,

means for increasing the contents of said vector register in response tooverflow from said second digital differential analyzer meanscorresponding to addition of said plurality of input quantities,

and means for reducing the contents of said vector register in responseto an overflow from said second digital differential analyzer meanscorresponding to the addition of said output of the vector register.

4. The circuit according to claim 3 wherein said first and seconddigital differential analyzer means each comprise digital differentialanalyzers time shared for receiving said plurality of input and vectorvalues.

5. Apparatus for moving a controlled device along a segment of a path inaccordance with coordinate dif ference input information, said pathcomprising a number of segmental portions, said apparatus comprismg:

means for developing repetitive output information in two axes, saidinformation being proportional to the coordinate input information foreach of said segmental portions, said controlled device being responsivein movement in said two axes to said repetitive output information,

digital means for developing repetitive output infor mation proportionalto the repetitive output information in two axes summed vectorally withrespect to the two axes, said digital means comprising a digitaldifferential analyzer and means for providing the square root of the sumof the squares of said coordinate input information as an input to saiddigital differential analyzer,

and means for controlling said digital means as well as said means fordeveloping repetitive output information in said two axes so that saidvector sum corresponds to a desired feedrate value for establishing theactual feedrate of said controlled device at such value, said means forcontrolling said digital means comprising a regulator responsive to adesired feedrate value as well as responsive to the overflow output ofsaid digital differential analyzer for providing an adding rate input tosaid digital differential analyzer causing said overflow output tocorrespond with the desired feedrate value.

6. The apparatus according to claim 5 wherein the means for developingrepetitive output information in two axes comprises a pair of digitaldifferential analyzers receiving the adding rate input from the regulator.

7. Apparatus for moving a controlled device along a segment of a path inaccordance with coordinate difference input information, said pathcomprising a number of segmental portions, said apparatus comprising:

means for developing repetitive output information in two or more axes,said information being proportional to the coordinate difference inputinformation for each of said segmental portions, said controlled devicebeing responsive in movement in said two axes to said repetitive outputinformation,

digital differential analyzer means for developing repetitive outputinformation proportional to the coordinate difference input informationin two axes summed vectorally with respect to the two axes,

and means for making a comparison between the vector sum and a desiredfeedrate value, and in response to such comparison controlling saiddigital differential analyzer means as well as said means for developingrepetitive output information in said two axes so that said vector sumcorresponds to a desired feedrate value to establish the actual feedrateof said controlled device at such value. 8. The apparatus according toclaim 7 wherein said means for making a comparison and controlling saiddigital means comprises a regulator responsive to a desired feedratevalue-as well as responsive to the overflow output of said digitaldifferential analyzer means for providing an adding rate input to saiddigital differential analyzer means causing said overflow to correspondwith the desired feedrate value.

9. The apparatus according to claim 8 wherein the means for developingrepetitive output information in two axes comprises a pair of digitaldifferential analyzers receiving the adding rate input from theregulator.

10. The apparatus according to claim 7 including means for providing aninput in said digital differential analyzer means comprising seconddigital differential analyzer means for producing output frequenciesproportional to said coordinate input information and to the square rootof the sum of the squares of said coordinate input information asapplied in feedback fashion from the first mentioned digitaldifferential analyzer means, 7

third digital differential analyzer means responsive in adding rate to'said output frequencies of said 1 second digital differential analyzermeans and receiving said coordinate input information and i said squareroot of the sum of the squares as applied in feedback fashion, forproducing output frequencies proportional to the squares thereof,

and further including means responsive to the last mentioned outputfrequencies for adjusting said square root-of the sum of the squares inthe first mentioned digital differential analyzer means until the squarethereof equals the sum of the squares of the coordinate inputinformation.

11. The apparatus according to claim 10 including discriminator meansfor adding to the input in the first mentioned digital differentialanalyzer means in response to an overflow from the thi'rd'digitaldifferential analyzer means proportional to the squares of coordinateinput information, and for subtracting from the input in said firstmentioned digital differential analyzer means in response to an overflowfrom the third digital differential analyzer means proportional to thequare of said square root of the sum of the s uare s. l The apparatusaccording to claim 11 w ereln each of said second and third digitaldifferential analyzer means comprises a single digital differentialanalyzer timed shared for number vinputs applied thereto.

13. The apparatus according to claim 7 wherein said means for developingrepetitive output information in two axes comprises input register meansfor receiving new input information and providing said difference inputinfonnation in at least two axes between new input information and theactual position of said controlled device, and rate command meansresponsive to said difference information for generating pulse outputinformation in two axes ratioed according to the positional error insaid two axes,

said apparatus further including digital servomechanism means, andpositioning motors operated thereby, responsive to said pulse outputinformation to provide movement of said controlled device, feedbackmeans actuated by said movement of said controlled device to providefeedback pulse information in response thereto,

means for coupling'said feedback pulse information to said inputregister means for updating and reducing said difference information,

and means for providing the desired feedrate input value.

- 14. 'The apparatus according to claim 7 wherein said digitaldifferential analyzer means comprises a vector register, a digitaldifferential analyzer for repeatedly adding input quantities and theoutput of the vector register and providing an addition overflowproportional to the various quantities added,

an additional digital differential analyzer for repeatedly adding saidinput quantities as well as the output of the vector register at a ratedetermined by the overflow frequency of the first mentioned digitaldifferential analyzer,

means for increasing the contents of said vector register in response tooverflow from said additional digital differential analyzercorresponding to addition of said input quantities,

and means for reducing the contents of said vector register in responseto an overflow from said additional digital differential analyzercorresponding to the addition of said output of the vector register.15.'The circuit according to claim 14 wherein said digital differentialanalyzers each comprise digital differential analyzers timed shared forreceiving a plurality of input and vector values.

1. Apparatus for moving a controlled device along a segment of a path inaccordance with coordinate difference input information, said pathcomprising a number of segmental portions, said apparatus comprising:means for developing repetitive output information in at least two axes,said information being proportional to the coordinate input informationfor each of said segmental portions, said controlled device beingresponsive in movement in sAid two axes to said repetitive outputinformation. means also responsive to the coordinate input informationfor developing a digital quantity proportional to the vector resultantof the coordinate input information, digital differential analyzer meansfor providing an additional repetitive output in proportion to saiddigital quantity, means for adjusting an adding rate input to saiddigital differential analyzer means for causing said additionalrepetitive output to correspond to a desired feedrate, and means forsimultaneously applying the same control input in control relation tothe means for developing repetitive output information in the two axes.2. Apparatus for moving a controlled device along a path, said pathcomprising a number of segmental portions, wherein the apparatussuccessively receives coordinate input information for directing acorresponding movement of said controlled device, said apparatuscomprising: input register means for receiving said input informationand providing a digital positional error indication in at least two axesbetween input information and the actual position of said controlleddevice, rate command means responsive to said digital error informationfor generating pulse outputs in two axes ratioed according to thepositional error in said two axes, digital servomechanism means, andpositioning motors operated thereby, responsive to said pulse outputs toprovide movement of said controlled device, feedback means actuated bysaid movement of said controlled device to provide feedback pulseinformation in response thereto, means for coupling said feedback pulseinformation to said input register means for updating and reducing saiderror indication, means for providing a desired feedrate input value,digital differential analyzer means responsive to said digital errorindication for generating a pulse output representative of a vectorresultant velocity for said controlled device wherein said vectorresultant velocity is proportional to the vector resultant of thepositional error indication in said axes, means responsive to saidfeedrate input value and to the pulse output of said digitaldifferential analyzer means for generating a feedrate command causingthe said digital differential analyzer means to produce an output pulserate in accordance with said feedrate input value, and means for alsoapplying said feedrate command to said rate command means in said twoaxes to produce output pulse rates therefrom the resultant of which isresponsive to said feedrate input value.
 3. A circuit for providing thevector sum of a plurality of input quantities comprising: a vectorregister, first digital differential analyzer means for repeatedlyadding said input quantities and the output of the vector register andproviding an addition overflow proportional to the various quantitiesadded, second digital differential analyzer means for repeatedly addingsaid input quantities as well as the output of the vector register at arate determined by the overflow frequency of the first digitaldifferential analyzer means, means for increasing the contents of saidvector register in response to overflow from said second digitaldifferential analyzer means corresponding to addition of said pluralityof input quantities, and means for reducing the contents of said vectorregister in response to an overflow from said second digitaldifferential analyzer means corresponding to the addition of said outputof the vector register.
 4. The circuit according to claim 3 wherein saidfirst and second digital differential analyzer means each comprisedigital differential analyzers time shared for receiving said pluralityof input and vector values.
 5. Apparatus for moving a controlled devicealong a segment of a path in accordance with coordinate difference inputinformation, said path comprising a number of segmental portions, saidapparatus comprising: means for developing repetitive output informationin two axes, said information being proportional to the coordinate inputinformation for each of said segmental portions, said controlled devicebeing responsive in movement in said two axes to said repetitive outputinformation, digital means for developing repetitive output informationproportional to the repetitive output information in two axes summedvectorally with respect to the two axes, said digital means comprising adigital differential analyzer and means for providing the square root ofthe sum of the squares of said coordinate input information as an inputto said digital differential analyzer, and means for controlling saiddigital means as well as said means for developing repetitive outputinformation in said two axes so that said vector sum corresponds to adesired feedrate value for establishing the actual feedrate of saidcontrolled device at such value, said means for controlling said digitalmeans comprising a regulator responsive to a desired feedrate value aswell as responsive to the overflow output of said digital differentialanalyzer for providing an adding rate input to said digital differentialanalyzer causing said overflow output to correspond with the desiredfeedrate value.
 6. The apparatus according to claim 5 wherein the meansfor developing repetitive output information in two axes comprises apair of digital differential analyzers receiving the adding rate inputfrom the regulator.
 7. Apparatus for moving a controlled device along asegment of a path in accordance with coordinate difference inputinformation, said path comprising a number of segmental portions, saidapparatus comprising: means for developing repetitive output informationin two or more axes, said information being proportional to thecoordinate difference input information for each of said segmentalportions, said controlled device being responsive in movement in saidtwo axes to said repetitive output information, digital differentialanalyzer means for developing repetitive output information proportionalto the coordinate difference input information in two axes summedvectorally with respect to the two axes, and means for making acomparison between the vector sum and a desired feedrate value, and inresponse to such comparison controlling said digital differentialanalyzer means as well as said means for developing repetitive outputinformation in said two axes so that said vector sum corresponds to adesired feedrate value to establish the actual feedrate of saidcontrolled device at such value.
 8. The apparatus according to claim 7wherein said means for making a comparison and controlling said digitalmeans comprises a regulator responsive to a desired feedrate value aswell as responsive to the overflow output of said digital differentialanalyzer means for providing an adding rate input to said digitaldifferential analyzer means causing said overflow to correspond with thedesired feedrate value.
 9. The apparatus according to claim 8 whereinthe means for developing repetitive output information in two axescomprises a pair of digital differential analyzers receiving the addingrate input from the regulator.
 10. The apparatus according to claim 7including means for providing an input in said digital differentialanalyzer means comprising second digital differential analyzer means forproducing output frequencies proportional to said coordinate inputinformation and to the square root of the sum of the squares of saidcoordinate input information as applied in feedback fashion from thefirst mentioned digital differential analyzer means, third digitaldifferential analyzer means responsive in adding rate to said outputfrequencies of said second digital differential analyzer means andreceiving said coordinate input information and said square root of thesum of the squares as applied in feedback fashion, for producing outputfrequencies proportional to the squaRes thereof, and further includingmeans responsive to the last mentioned output frequencies for adjustingsaid square root of the sum of the squares in the first mentioneddigital differential analyzer means until the square thereof equals thesum of the squares of the coordinate input information.
 11. Theapparatus according to claim 10 including discriminator means for addingto the input in the first mentioned digital differential analyzer meansin response to an overflow from the third digital differential analyzermeans proportional to the squares of coordinate input information, andfor subtracting from the input in said first mentioned digitaldifferential analyzer means in response to an overflow from the thirddigital differential analyzer means proportional to the square of saidsquare root of the sum of the squares.
 12. The apparatus according toclaim 11 wherein each of said second and third digital differentialanalyzer means comprises a single digital differential analyzer timedshared for number inputs applied thereto.
 13. The apparatus according toclaim 7 wherein said means for developing repetitive output informationin two axes comprises input register means for receiving new inputinformation and providing said difference input information in at leasttwo axes between new input information and the actual position of saidcontrolled device, and rate command means responsive to said differenceinformation for generating pulse output information in two axes ratioedaccording to the positional error in said two axes, said apparatusfurther including digital servomechanism means, and positioning motorsoperated thereby, responsive to said pulse output information to providemovement of said controlled device, feedback means actuated by saidmovement of said controlled device to provide feedback pulse informationin response thereto, means for coupling said feedback pulse informationto said input register means for updating and reducing said differenceinformation, and means for providing the desired feedrate input value.14. The apparatus according to claim 7 wherein said digital differentialanalyzer means comprises a vector register, a digital differentialanalyzer for repeatedly adding input quantities and the output of thevector register and providing an addition overflow proportional to thevarious quantities added, an additional digital differential analyzerfor repeatedly adding said input quantities as well as the output of thevector register at a rate determined by the overflow frequency of thefirst mentioned digital differential analyzer, means for increasing thecontents of said vector register in response to overflow from saidadditional digital differential analyzer corresponding to addition ofsaid input quantities, and means for reducing the contents of saidvector register in response to an overflow from said additional digitaldifferential analyzer corresponding to the addition of said output ofthe vector register.
 15. The circuit according to claim 14 wherein saiddigital differential analyzers each comprise digital differentialanalyzers timed shared for receiving a plurality of input and vectorvalues.